Fast followers?/Speed contagion: assessing the impact of Montreal F1 Grand Prix on high-speed ticketing rates (2000-2022)
Step 1. Weather variables. We defined the dates by year and availability (whether the event took place or not), days of the week, time windows, and pre and post-event spans, which we then linked to nearby meteorological stations. Also we linked with Collisions data.
Author
Andrés González Santa Cruz
Published
July 7, 2025
Code
# remove objects and memoryrm(list=ls());gc()
used (Mb) gc trigger (Mb) max used (Mb)
Ncells 837600 44.8 1636887 87.5 1167794 62.4
Vcells 1709049 13.1 8388608 64.0 3475595 26.6
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Adjuntando el paquete: 'dagitty'
The following object is masked from 'package:rio':
convert
Adjuntando el paquete: 'ggdag'
The following object is masked from 'package:stats':
filter
Adjuntando el paquete: 'kableExtra'
The following object is masked from 'package:dplyr':
group_rows
Cargando paquete requerido: Matrix
Adjuntando el paquete: 'Matrix'
The following objects are masked from 'package:tidyr':
expand, pack, unpack
Adjuntando el paquete: 'lme4'
The following object is masked from 'package:rio':
factorize
This is DHARMa 0.4.7. For overview type '?DHARMa'. For recent changes, type news(package = 'DHARMa')
Cargando paquete requerido: carData
Adjuntando el paquete: 'car'
The following object is masked from 'package:purrr':
some
The following object is masked from 'package:dplyr':
recode
Cargando paquete requerido: Rcpp
Loading 'brms' package (version 2.22.0). Useful instructions
can be found by typing help('brms'). A more detailed introduction
to the package is available through vignette('brms_overview').
Adjuntando el paquete: 'brms'
The following object is masked from 'package:glmmTMB':
lognormal
The following object is masked from 'package:lme4':
ngrps
The following object is masked from 'package:stats':
ar
This is bayesplot version 1.12.0
- Online documentation and vignettes at mc-stan.org/bayesplot
- bayesplot theme set to bayesplot::theme_default()
* Does _not_ affect other ggplot2 plots
* See ?bayesplot_theme_set for details on theme setting
Adjuntando el paquete: 'bayesplot'
The following object is masked from 'package:brms':
rhat
This is loo version 2.8.0
- Online documentation and vignettes at mc-stan.org/loo
- As of v2.0.0 loo defaults to 1 core but we recommend using as many as possible. Use the 'cores' argument or set options(mc.cores = NUM_CORES) for an entire session.
- Windows 10 users: loo may be very slow if 'mc.cores' is set in your .Rprofile file (see https://github.com/stan-dev/loo/issues/94).
##
## Synth Package: Implements Synthetic Control Methods.
## See https://web.stanford.edu/~jhain/synthpage.html for additional information.
Warning: package 'weathercan' was built under R version 4.4.3
As of v0.7.2, the `normals` column in `stations()` reflects whether or not there
are *any* normals available (not just the most recent).
Welcome to emmeans.
Caution: You lose important information if you filter this package's results.
See '? untidy'
Registered S3 method overwritten by 'lfe':
method from
nobs.felm broom
Adjuntando el paquete: 'plm'
The following objects are masked from 'package:dplyr':
between, lag, lead
Adjuntando el paquete: 'PanelMatch'
The following object is masked from 'package:tidyr':
extract
The following object is masked from 'package:stats':
weights
Registered S3 method overwritten by 'GGally':
method from
+.gg ggplot2
Cargando paquete requerido: bsts
Cargando paquete requerido: BoomSpikeSlab
Cargando paquete requerido: Boom
Adjuntando el paquete: 'Boom'
The following objects are masked from 'package:brms':
ddirichlet, rdirichlet
The following object is masked from 'package:stats':
rWishart
Adjuntando el paquete: 'BoomSpikeSlab'
The following object is masked from 'package:stats':
knots
Cargando paquete requerido: zoo
Adjuntando el paquete: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
Cargando paquete requerido: xts
######################### Warning from 'xts' package ##########################
# #
# The dplyr lag() function breaks how base R's lag() function is supposed to #
# work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or #
# source() into this session won't work correctly. #
# #
# Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
# conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop #
# dplyr from breaking base R's lag() function. #
# #
# Code in packages is not affected. It's protected by R's namespace mechanism #
# Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning. #
# #
###############################################################################
Adjuntando el paquete: 'xts'
The following objects are masked from 'package:dplyr':
first, last
Adjuntando el paquete: 'bsts'
The following object is masked from 'package:BoomSpikeSlab':
SuggestBurn
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
Adjuntando el paquete: 'forecast'
The following object is masked from 'package:brms':
ma
Code
#special repository indicated or the packageif(!require(weathercan)){install.packages("weathercan", repos =c("https://ropensci.r-universe.dev", "https://cloud.r-project.org")); library(weathercan) }#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_#_if(!require(bpmn)){devtools::install_github("bergant/bpmn")}
Warning in readLines(paste0(gsub("f1/", "", getwd()), "/key.txt")): incomplete
final line found on 'H:/Mi unidad/PERSONAL
ANDRES/UCH_salud_publica/pasantia/f1/key.txt'
API key has been set for the current session.
Get the F1 race calendar 1978-2024. Since 2000 the race almost always falls on the second Sunday of June (seven times) or the first Sunday (five times). Some outliers occurred in 2006 (25 Jun), when the event was pushed two weeks later to balance the calendar; in 2022 (19 Jun) the event slipped a week because of the re-shuffled post-COVID schedule. In 2009 it was cancelled due to a commercial dispute, and in 2020-21, pandemic travel restrictions imposed the non-realization of the event2.
We created a named character vector called station_patterns as a lookup table where each short, convenient name (like trudeau or mctavish) is directly linked to the full, official name of a specific Canadian weather station from Environment and Climate Change Canada. 10 different weather stations are being identified. These stations represent a variety of locations, including a major international airport (trudeau), an urban center (mctavish), and various points across a broader geographic area (e.g., west, northwest, northeast of a specific island, and surrounding regions like Laval and the South Shore). This approach makes your code more readable and easier to maintain, as you can refer to complex station names using simple aliases, and any future changes to official names only require an update in this single, centralized location.
After 2025-06-12, we added 8 stations explicitly located in Longueuil (2), Trois-Rivières (1), Québec (1) and Sherbrooke (4).
Code
station_patterns <-c(trudeau ="MONTREAL/PIERRE ELLIOTT TRUDEAU INTL", # Dorval :contentReference[oaicite:0]{index=0}mctavish ="MCTAVISH", # centro urbano :contentReference[oaicite:1]{index=1}ste_anne ="STE-ANNE-DE-BELLEVUE 1", # extremo-oeste :contentReference[oaicite:2]{index=2}ste_genevieve ="STE GENEVIEVE", # noroeste isla :contentReference[oaicite:3]{index=3}rdp ="RIVIERE DES PRAIRIES", # noreste isla :contentReference[oaicite:4]{index=4}lave_auteuil ="AUTEUIL", # Laval norte :contentReference[oaicite:5]{index=5}ste_therese ="STE THERESE OUEST", # al N de Laval :contentReference[oaicite:6]{index=6}lave_dorothee ="STE DOROTHEE", # Laval oeste (serie vigente)st_hubert ="MONTREAL/ST-HUBERT A", # aeropuerto Longueuil :contentReference[oaicite:7]{index=7}la_prairie ="LAPRAIRIE", # Rive-Sud suroeste :contentReference[oaicite:8]{index=8}vercheres ="VERCHERES",st_amable ="ST AMABLE")#Before 2025-06-12, stations covers the urban areas of Laval, Montreal, and Longueuil #added missing stations explicitly located in:#Trois-Rivières#Québec#Sherbrooke#station_patterns_rec <-c( station_patterns,trois_rivieres ="TROIS RIVIERES AQUEDUC", # Aqueduc Trois-Rivières (≈10 km from YRQ)quebec_airport ="QUEBEC/JEAN LESAGE INTL", # Québec City Airportsherbrooke_air ="SHERBROOKE A", # Sherbrooke Airport# sherbrooke_city = "SHERBROOKE", # Sherbrooke urban center (if needed)lennoxville ="LENNOXVILLE", # Lennoxville (near Sherbrooke)vercheres ="VERCHERES", # Verchères (south shore, covers May 2019)st_amable ="ST AMABLE", # Saint-Amable (south shore)sawyerville_nord ="SAWYERVILLE NORD", # Sawyerville Nord (≤25 km from Sherbrooke A)bromptonville ="BROMPTONVILLE", # Bromptonville (≤25 km from Sherbrooke A)st_hubert2 ="MONTREAL/ST-HUBERT"# New St-Hubert hourly automated station)
We get a glimpse of stations, we got the daily measurements for each station.
Code
stations_df <- purrr::imap_dfr( station_patterns_rec,function(pattern, alias) { out <-stations_search(pattern) %>%# busca por cadenafilter(interval %in%c("day")) %>%# prioriza estaciones operativasslice(1) # toma la coincidencia más cercanaif (nrow(out) ==0)stop(sprintf("No se encontró ninguna estación para «%s»", pattern), call. =FALSE) out %>%mutate(alias = alias) %>%# añade el nombre “amistoso”select(alias, station_id, start, end, station_name) })
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
We set up geographical information for 10 weather stations and 3 major urban centers, then calculates which of those 3 cities is geographically closest to each weather station (using Haversine distance). After this, we categorize stations based on proximity.
STE GENEVIEVE and STE DOROTHEE were discarded because they did not coer the study period.
There are missing (“M”) values not well labelled as such.
For each F1 race from 1978:
took one of the 10 stations listed above
selected the period between May and September of each year
for different measurements, we calculated the median and the mean (not sure if this is useful if each observation is a daily measurement) of precipitations, maximum and minimum temperature, snow, etc.
Code
#weather_dl( 30165, start="1978-10-01", end="1978-10-15")#skip givin NA if no data available for a year#skip if there is no data for a given year#vignette("flags", package = "weathercan")get_window <-function(st_id, alias) {# Info de la estación station_info <- stations_df %>%filter(station_id == st_id) start_avail <-as_date(station_info$start) end_avail <-as_date(station_info$end) races %>%#filter(!is.na(race_date)) %>%rowwise() %>%filter(year >1999, year <2023)%>%# The extra parenthesis was heremutate(range_start =make_date(year, 5, 1),#race_date - days(14),range_end =make_date(year, 9, 30),#race_date+ days(14),data =list(tryCatch({ df <-weather_dl(station_id = st_id,start = range_start,end = range_end,interval ="day") %>%group_by(date) %>%summarise(across(any_of(c("pressure", "rel_hum", "precip_amt","min_temp", "max_temp", "total_precip", "total_rain", "total_snow","temp", "temp_dew", "wind_chill", "wind_spd" )),list(mean =~mean(.x, na.rm =TRUE),median =~median(.x, na.rm =TRUE) ),.names ="{.col}_{.fn}" ) ) df }, error =function(e) tibble()) ) ) %>%ungroup() %>%unnest(data) %>%mutate(station = alias)%>%relocate(station, date, race_date)}#2004-06-06#2004-06-20## 30165 10761 10873 3758 5441 5313 5285 5460 5490 5389 5201 26892 5530 5528 5397## There are no data for station 5528, in this time range (2004-06-06 to 2004-06-20), for this interval (day), # so we skip ittest<-weather_dl(station_id =5441,#5460, #start =make_date(2022, 5, 1),#"1978-10-01",end =make_date(2022, 9, 30),#"1978-10-15",interval ="day") |>group_by(date) |>summarise(across(any_of(c("pressure", "rel_hum", "precip_amt","min_temp", "max_temp", "total_precip", "total_rain", "total_snow","temp", "temp_dew", "wind_chill", "wind_spd" )),list(mean =~mean(.x, na.rm =TRUE),median =~median(.x, na.rm =TRUE) ),.names ="{.col}_{.fn}" ) )
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 30165, in this time range (2000-05-01 to 2000-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
2 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 30165, in this time range (2001-05-01 to 2001-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
2 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 30165, in this time range (2002-05-01 to 2002-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
2 QC MONTREAL/PIE… 30165 702S006 71183 WTQ 45.5 -73.7 32.1 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 30165
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10761
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 10873
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5313, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
2 QC AUTEUIL 5313 7020392 NA <NA> 45.6 -73.7 53 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2013-05-01 to 2013-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2014-05-01 to 2014-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2015-05-01 to 2015-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5285, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
2 QC STE THERESE … 5285 7017755 NA <NA> 45.6 -73.9 61 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2005-05-01 to 2005-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2006-05-01 to 2006-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2007-05-01 to 2007-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2008-05-01 to 2008-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2012-05-01 to 2012-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2013-05-01 to 2013-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2014-05-01 to 2014-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2015-05-01 to 2015-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2016-05-01 to 2016-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5490, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
3 QC MONTREAL/ST-… 5490 7027320 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5447, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
2 QC ST AMABLE 5447 7026818 NA <NA> 45.7 -73.3 41.1 Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2010-05-01 to 2010-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2011-05-01 to 2011-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2012-05-01 to 2012-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2013-05-01 to 2013-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2014-05-01 to 2014-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2015-05-01 to 2015-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5201, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
2 QC TROIS RIVIER… 5201 701HE63 NA <NA> 46.4 -72.6 54.9 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 26892
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 26892
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 26892
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5530
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2011-05-01 to 2011-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2017-05-01 to 2017-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2018-05-01 to 2018-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2019-05-01 to 2019-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2020-05-01 to 2020-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2021-05-01 to 2021-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 5530, in this time range (2022-05-01 to 2022-09-30), for this interval (day),
Available Station Data:
# A tibble: 3 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
2 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
3 QC SHERBROOKE A 5530 7028124 71610 YSC 45.4 -71.7 241. Etc/G…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 5397
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2000-05-01 to 2000-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2001-05-01 to 2001-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2002-05-01 to 2002-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2003-05-01 to 2003-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2004-05-01 to 2004-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2005-05-01 to 2005-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2006-05-01 to 2006-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2007-05-01 to 2007-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2008-05-01 to 2008-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
There are no data for station 48374, in this time range (2009-05-01 to 2009-09-30), for this interval (day),
Available Station Data:
# A tibble: 2 × 17
prov station_name station_id climate_id WMO_id TC_id lat lon elev tz
<chr> <chr> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr>
1 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
2 QC MONTREAL/ST-… 48374 7027329 71371 YHU 45.5 -73.4 27.4 Etc/…
# ℹ 7 more variables: interval <chr>, start <dbl>, end <dbl>, normals <lgl>,
# normals_1991_2020 <lgl>, normals_1981_2010 <lgl>, normals_1971_2000 <lgl>
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Some variables have non-numeric values (spd_max_gust), for stations: 48374
Replaced all non-numeric entries with NA. Use 'string_as = NULL' to keep as characters (see ?weather_dl).
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
The stations data frame hasn't been updated in over 4 weeks. Consider running `stations_dl()` to check for updates and make sure you have the most recent stations list available
Code
wx_all <- wx_all%>%mutate(# define an indicator that is 1 if race_date ∈ [or3, or3 + 3 days], 0 otherwisestudy_window =as.integer(dplyr::between(date, race_date -days(35), race_date +days(35))) )
Code
#Select the relevant variableswx_all_subset <- wx_all %>% dplyr::select(station, min_temp_mean, min_temp_median, max_temp_mean, max_temp_median, total_precip_mean, total_precip_median, total_rain_mean, total_rain_median, total_snow_mean, total_snow_median)# Count missing values for station and variablesmissing_counts <- wx_all_subset %>%pivot_longer(cols =-station, names_to ="variable", values_to ="value") %>%group_by(station, variable) %>%summarize(missing_count =sum(is.na(value) |is.nan(value)),n=n(), perc= missing_count/n, .groups ="drop")# Graphic with facet_wrap by stationmissing_counts|>filter(variable %in%c(paste0( c("max_temp", "min_temp"), "_mean"), paste0( c("total_precip", "total_rain", "total_snow"), "_median")))|>ggplot(aes(x = variable, y = perc, fill = variable)) +geom_bar(stat ="identity") +facet_wrap(~ station, ncol =4) +labs(x ="Variable", y ="Proportion of missing values") +theme_bw() +theme(axis.text.x =element_text(angle =45, hjust =1),legend.position ="none")
Proportion of missing values by station and variable
Due to the high proportion of missing values, the variables total_rain_mean, total_rain_median, total_snow_mean, and total_snow_median were removed from the analysis. Likewise, the monitoring sites La Prairie (Montreal), Ste-Anne (Laval), and Trudeau (Laval) might be excluded from further analysis.
Daily maximum air temperature: the highest dry-bulb temperature recorded during the 24-hour observation period.
degrees Celsius (°C) ([Climate Data][1])
min_temp
Daily minimum air temperature: the lowest dry-bulb temperature recorded during the 24-hour observation period.
degrees Celsius (°C) ([Climate Data][1])
tot_precip
Daily total precipitation: sum of the water equivalent of all liquid and solid precipitation (rain, snow, hail, etc.) accumulated over the day.
millimetres (mm) ([Climate Data][1])
tot_precip_lag2
Two-day-lagged total precipitation: the value of tot_precip shifted backward by two days, useful for capturing antecedent moisture conditions in analyses.
`summarise()` has grouped output by 'date', 'nearest'. You can override using
the `.groups` argument.
Code
wx_summary_filt2002_22_all %>%ungroup() |>select( nearest, min_temp_mean, min_temp_median, max_temp_mean, max_temp_median, total_precip_mean, total_precip_median ) %>%pivot_longer(cols =-nearest,names_to ="variable",values_to ="value" ) %>%group_by(nearest, variable) %>%summarise(missing_count =sum(is.na(value) |is.nan(value)),n =n(),perc_missing = scales::percent(missing_count / n, accuracy=.1),.groups ="drop" ) %>%arrange(nearest, variable) -> missing_summarymissing_summary|>head(20) %>% knitr::kable(caption ="Sample of missing values by station and variable")
Sample of missing values by station and variable
nearest
variable
missing_count
n
perc_missing
Laval
max_temp_mean
6
3519
0.2%
Laval
max_temp_median
6
3519
0.2%
Laval
min_temp_mean
7
3519
0.2%
Laval
min_temp_median
7
3519
0.2%
Laval
total_precip_mean
3
3519
0.1%
Laval
total_precip_median
3
3519
0.1%
Longueuil
max_temp_mean
3
3519
0.1%
Longueuil
max_temp_median
3
3519
0.1%
Longueuil
min_temp_mean
2
3519
0.1%
Longueuil
min_temp_median
2
3519
0.1%
Longueuil
total_precip_mean
2
3519
0.1%
Longueuil
total_precip_median
2
3519
0.1%
Montreal
max_temp_mean
18
3519
0.5%
Montreal
max_temp_median
18
3519
0.5%
Montreal
min_temp_mean
12
3519
0.3%
Montreal
min_temp_median
12
3519
0.3%
Montreal
total_precip_mean
47
3519
1.3%
Montreal
total_precip_median
47
3519
1.3%
Quebec
max_temp_mean
24
3519
0.7%
Quebec
max_temp_median
24
3519
0.7%
Code
wx_summary_filt2002_22_all |>head(20) %>% knitr::kable(caption ="Sample of average values by station and date", digits=1, col.names =c("Date", "Nearest City", "MRC", "Min Temp (M°C)", "Min Temp (Mdn°C)", "Max Temp (M°C)", "Max Temp(Mdn°C)", "Precipitation (M mm)", "Precipitation (Mdn mm)"))
Sample of average values by station and date
Date
Nearest City
MRC
Min Temp (M°C)
Min Temp (Mdn°C)
Max Temp (M°C)
Max Temp(Mdn°C)
Precipitation (M mm)
Precipitation (Mdn mm)
2000-05-01
Laval
65
3.0
3.0
14.6
14.6
1.4
1.4
2000-05-01
Longueuil
58
0.8
0.8
14.7
14.7
1.6
1.6
2000-05-01
Montreal
66
4.0
4.0
14.7
14.7
2.5
2.5
2000-05-01
Quebec
23
-1.4
-1.4
13.3
13.3
4.0
4.0
2000-05-01
Sherbrooke
43
-3.3
-3.3
13.8
13.8
2.5
2.5
2000-05-01
Trois-Rivieres
371
-2.0
-2.0
13.0
13.0
2.7
2.7
2000-05-02
Laval
65
3.6
3.6
15.1
15.1
0.3
0.3
2000-05-02
Longueuil
58
3.5
3.5
14.8
14.8
0.0
0.0
2000-05-02
Montreal
66
5.3
5.3
14.6
14.6
0.5
0.5
2000-05-02
Quebec
23
1.1
1.1
12.8
12.8
0.0
0.0
2000-05-02
Sherbrooke
43
0.2
0.2
11.0
11.0
0.5
0.5
2000-05-02
Trois-Rivieres
371
2.0
2.0
13.0
13.0
0.0
0.0
2000-05-03
Laval
65
0.5
0.5
19.3
19.3
0.0
0.0
2000-05-03
Longueuil
58
-0.9
-0.9
19.5
19.5
0.0
0.0
2000-05-03
Montreal
66
2.5
2.5
18.4
18.4
0.0
0.0
2000-05-03
Quebec
23
-1.0
-1.0
16.5
16.5
0.0
0.0
2000-05-03
Sherbrooke
43
-2.7
-2.7
17.1
17.1
0.0
0.0
2000-05-03
Trois-Rivieres
371
-2.5
-2.5
17.0
17.0
0.0
0.0
2000-05-04
Laval
65
4.3
4.3
24.6
24.6
0.0
0.0
2000-05-04
Longueuil
58
3.7
3.7
24.6
24.6
0.6
0.6
Code
summary_vars <-c("min_temp_mean", "min_temp_median", "max_temp_mean","max_temp_median", "total_precip_mean", "total_precip_median")# Realizar el resumensummary_stats <- wx_summary_filt2002_22_all %>%group_by(nearest) %>%summarise(across(.cols =all_of(summary_vars),.fns =list(mean_sd =~sprintf("%.1f (%.1f)", mean(.x, na.rm =TRUE), sd(.x, na.rm =TRUE)),median_iqr =~sprintf("%.1f [%.1f, %.1f]",median(.x, na.rm =TRUE),quantile(.x, probs =0.25, na.rm =TRUE),quantile(.x, probs =0.75, na.rm =TRUE)),p5_p95_range =~sprintf("%.1f - %.1f",quantile(.x, probs =0.05, na.rm =TRUE),quantile(.x, probs =0.95, na.rm =TRUE)) ),.names ="{.col}_{.fn}"# Naming convention for the new columns ) )summary_stats_long <- summary_stats %>%pivot_longer(cols =-nearest, # Todas las columnas excepto 'nearest'names_to =c("variable_original", "statistic_type"), # Crea dos nuevas columnas para los nombresnames_sep ="_(?=[^_]*$)", # Separa por el último '_' para obtener la variable y el tipo de estadísticavalues_to ="value"# La columna donde irán los valores formateados ) %>%# Opcional: Reordenar y limpiar los nombres de las variables/estadísticasmutate(variable_original =gsub("_(mean|median)$", "", variable_original), # Quitar _mean o _median del nombre de la variablestatistic_type =case_when( statistic_type =="mean_sd"~"Mean (SD)", statistic_type =="median_iqr"~"Median [Q1, Q3]", statistic_type =="p5_p95_range"~"Range [P5, P95]",TRUE~ statistic_type # Por si acaso hay otros tipos que no queremos renombrar ) ) %>%# Opcional: Reordenar las columnas para mejor lecturarelocate(nearest, variable_original, statistic_type, value) %>%arrange(nearest, variable_original, statistic_type) |>mutate(variable_original=gsub("_p5_p95","",variable_original)) |>mutate(statistic_type=gsub("sd","mean sd",statistic_type)) |>mutate(statistic_type=gsub("range","90% range",statistic_type))summary_stats_long |> knitr::kable(caption ="Summary statistics for weather variables by nearest city",col.names =c("Nearest City", "Variable", "Statistic Type", "Value"),digits =1, format.args =list(big.mark =",")) %>% kableExtra::kable_classic() |> kableExtra::scroll_box(width ="100%", height ="400px")
Summary statistics for weather variables by nearest city
Nearest City
Variable
Statistic Type
Value
Laval
max_temp_mean
iqr
24.2 [20.2, 27.2]
Laval
max_temp_mean
mean sd
23.5 (5.1)
Laval
max_temp_mean
90% range
14.3 - 30.9
Laval
max_temp_median
iqr
24.2 [20.2, 27.2]
Laval
max_temp_median
mean sd
23.5 (5.1)
Laval
max_temp_median
90% range
14.3 - 30.9
Laval
min_temp_mean
iqr
13.2 [9.6, 16.4]
Laval
min_temp_mean
mean sd
12.8 (4.8)
Laval
min_temp_mean
90% range
4.4 - 19.9
Laval
min_temp_median
iqr
13.2 [9.6, 16.4]
Laval
min_temp_median
mean sd
12.8 (4.8)
Laval
min_temp_median
90% range
4.4 - 19.9
Laval
total_precip_mean
iqr
0.1 [0.0, 2.4]
Laval
total_precip_mean
mean sd
2.9 (6.6)
Laval
total_precip_mean
90% range
0.0 - 15.4
Laval
total_precip_median
iqr
0.1 [0.0, 2.4]
Laval
total_precip_median
mean sd
2.9 (6.6)
Laval
total_precip_median
90% range
0.0 - 15.4
Longueuil
max_temp_mean
iqr
24.4 [20.4, 27.3]
Longueuil
max_temp_mean
mean sd
23.7 (5.1)
Longueuil
max_temp_mean
90% range
14.5 - 31.1
Longueuil
max_temp_median
iqr
24.4 [20.4, 27.3]
Longueuil
max_temp_median
mean sd
23.7 (5.1)
Longueuil
max_temp_median
90% range
14.5 - 31.1
Longueuil
min_temp_mean
iqr
13.1 [9.4, 16.2]
Longueuil
min_temp_mean
mean sd
12.7 (4.8)
Longueuil
min_temp_mean
90% range
4.0 - 19.9
Longueuil
min_temp_median
iqr
13.1 [9.4, 16.2]
Longueuil
min_temp_median
mean sd
12.7 (4.8)
Longueuil
min_temp_median
90% range
4.0 - 19.9
Longueuil
total_precip_mean
iqr
0.1 [0.0, 2.9]
Longueuil
total_precip_mean
mean sd
3.1 (6.8)
Longueuil
total_precip_mean
90% range
0.0 - 16.9
Longueuil
total_precip_median
iqr
0.1 [0.0, 2.9]
Longueuil
total_precip_median
mean sd
3.1 (6.8)
Longueuil
total_precip_median
90% range
0.0 - 16.9
Montreal
max_temp_mean
iqr
24.3 [20.4, 27.4]
Montreal
max_temp_mean
mean sd
23.6 (5.1)
Montreal
max_temp_mean
90% range
14.6 - 31.1
Montreal
max_temp_median
iqr
24.3 [20.4, 27.4]
Montreal
max_temp_median
mean sd
23.6 (5.1)
Montreal
max_temp_median
90% range
14.6 - 31.1
Montreal
min_temp_mean
iqr
14.0 [10.3, 17.0]
Montreal
min_temp_mean
mean sd
13.5 (4.7)
Montreal
min_temp_mean
90% range
5.1 - 20.4
Montreal
min_temp_median
iqr
14.0 [10.3, 17.0]
Montreal
min_temp_median
mean sd
13.5 (4.7)
Montreal
min_temp_median
90% range
5.1 - 20.4
Montreal
total_precip_mean
iqr
0.0 [0.0, 2.8]
Montreal
total_precip_mean
mean sd
3.2 (7.2)
Montreal
total_precip_mean
90% range
0.0 - 17.3
Montreal
total_precip_median
iqr
0.0 [0.0, 2.8]
Montreal
total_precip_median
mean sd
3.2 (7.2)
Montreal
total_precip_median
90% range
0.0 - 17.3
Quebec
max_temp_mean
iqr
22.3 [18.2, 25.6]
Quebec
max_temp_mean
mean sd
21.7 (5.3)
Quebec
max_temp_mean
90% range
12.2 - 29.4
Quebec
max_temp_median
iqr
22.3 [18.2, 25.6]
Quebec
max_temp_median
mean sd
21.7 (5.3)
Quebec
max_temp_median
90% range
12.2 - 29.4
Quebec
min_temp_mean
iqr
10.6 [7.1, 13.7]
Quebec
min_temp_mean
mean sd
10.2 (4.7)
Quebec
min_temp_mean
90% range
1.8 - 17.4
Quebec
min_temp_median
iqr
10.6 [7.1, 13.7]
Quebec
min_temp_median
mean sd
10.2 (4.7)
Quebec
min_temp_median
90% range
1.8 - 17.4
Quebec
total_precip_mean
iqr
0.0 [0.0, 3.1]
Quebec
total_precip_mean
mean sd
3.5 (8.0)
Quebec
total_precip_mean
90% range
0.0 - 18.7
Quebec
total_precip_median
iqr
0.0 [0.0, 3.1]
Quebec
total_precip_median
mean sd
3.5 (8.0)
Quebec
total_precip_median
90% range
0.0 - 18.7
Sherbrooke
max_temp_mean
iqr
23.1 [19.2, 26.2]
Sherbrooke
max_temp_mean
mean sd
22.5 (5.1)
Sherbrooke
max_temp_mean
90% range
13.1 - 29.9
Sherbrooke
max_temp_median
iqr
23.1 [19.2, 26.2]
Sherbrooke
max_temp_median
mean sd
22.5 (5.1)
Sherbrooke
max_temp_median
90% range
13.1 - 29.9
Sherbrooke
min_temp_mean
iqr
10.8 [7.0, 14.2]
Sherbrooke
min_temp_mean
mean sd
10.4 (5.1)
Sherbrooke
min_temp_mean
90% range
0.9 - 18.0
Sherbrooke
min_temp_median
iqr
10.8 [7.0, 14.2]
Sherbrooke
min_temp_median
mean sd
10.4 (5.1)
Sherbrooke
min_temp_median
90% range
0.9 - 18.0
Sherbrooke
total_precip_mean
iqr
0.3 [0.0, 3.8]
Sherbrooke
total_precip_mean
mean sd
3.5 (6.8)
Sherbrooke
total_precip_mean
90% range
0.0 - 17.5
Sherbrooke
total_precip_median
iqr
0.3 [0.0, 3.8]
Sherbrooke
total_precip_median
mean sd
3.5 (6.8)
Sherbrooke
total_precip_median
90% range
0.0 - 17.5
Trois-Rivieres
max_temp_mean
iqr
23.0 [19.0, 26.0]
Trois-Rivieres
max_temp_mean
mean sd
22.5 (5.1)
Trois-Rivieres
max_temp_mean
90% range
13.0 - 30.0
Trois-Rivieres
max_temp_median
iqr
23.0 [19.0, 26.0]
Trois-Rivieres
max_temp_median
mean sd
22.5 (5.1)
Trois-Rivieres
max_temp_median
90% range
13.0 - 30.0
Trois-Rivieres
min_temp_mean
iqr
12.0 [8.0, 15.0]
Trois-Rivieres
min_temp_mean
mean sd
11.4 (5.2)
Trois-Rivieres
min_temp_mean
90% range
2.0 - 19.5
Trois-Rivieres
min_temp_median
iqr
12.0 [8.0, 15.0]
Trois-Rivieres
min_temp_median
mean sd
11.4 (5.2)
Trois-Rivieres
min_temp_median
90% range
2.0 - 19.5
Trois-Rivieres
total_precip_mean
iqr
0.0 [0.0, 3.2]
Trois-Rivieres
total_precip_mean
mean sd
3.3 (7.2)
Trois-Rivieres
total_precip_mean
90% range
0.0 - 17.7
Trois-Rivieres
total_precip_median
iqr
0.0 [0.0, 3.2]
Trois-Rivieres
total_precip_median
mean sd
3.3 (7.2)
Trois-Rivieres
total_precip_median
90% range
0.0 - 17.7
We chose to maintain the tot_precip variable as the average of the median precipitation through stations. The rest of variables are the average across stations.
Collisions database
We imported a Stata-formatted dataset named Allcollisions2000_22.summer.2.dta, storing it as the collisions data frame. This comprehensive dataset chronicles traffic collisions in Quebec from 2000 to 2022, with a specific focus on the summer months (May to September, roughly late spring to early autumn). It includes data from several key cities and census divisions (MRCs), such as Trois-Rivières (MRC 371) and Québec (MRC 23), which serve as control areas, alongside Laval (MRC 65), Montréal (MRC 66), Longueuil (MRC 58), and Sherbrooke (MRC 43), the latter also may act as a control.
Code
collisions<-rio::import(paste0(getwd(),"/_data/Allcollisions2000_22.summer.2.dta"))# The SAAQ dataset is considered complete for fatal collisions, but mild-injury counts can be under-reported.# • Alcohol and speed flags reflect the police officer’s assessment; they are not mutually exclusive.glimpse(collisions, width=80)
Trois-Rivières (MRC 371) is absent from the database. That leaves us with Quebec (MRC 23), and possibly Sherbrooke (MRC 43) as the control cities.
Weimported the offset data form google sheets containing vehicle/license holder statistics by year and city. then, we joined with weather data and defined treatment/control grou based on MRC codes, createdmultiple exposure widows around race dates. Posteriorly, we added temporal variables (ISO week, year of day), we also generated treatment indicator (D). Lastly, for data quality assessment, we checked for duplicates in the dataset, identified missing dates, generated diagnostic tables showing row count discrepancies by MRC/year and specific missing dates in the collision database.
Duplicates?
# A tibble: 0 × 4
# ℹ 4 variables: mrc <dbl>, year <dbl>, date <date>, n <int>
How many rows the database should have approx?
[1] 17480
What we have
[1] 17520
What we should have
[1] 17594
Number of by MRC and year
MRC
Year
Original DB
Processed-dates DB
23
2020
152
153
43
2001
151
153
43
2005
152
153
43
2006
152
153
43
2010
151
153
43
2012
152
153
43
2013
151
153
43
2014
150
153
43
2015
151
153
43
2016
146
153
43
2017
146
153
43
2018
146
153
43
2019
143
152
43
2020
143
153
43
2021
144
153
43
2022
148
153
58
2000
152
153
58
2020
152
153
65
2000
152
153
65
2020
151
153
Missing Dates in Collisions Database
MRC
Dates
23
2020-05-10
43
2001-07-02
43
2001-09-19
43
2005-05-15
43
2006-09-17
43
2010-05-09
43
2010-09-06
43
2012-05-17
43
2013-08-03
43
2013-09-22
43
2014-07-20
43
2014-08-16
43
2014-09-07
43
2015-06-21
43
2015-08-09
43
2016-05-10
43
2016-05-25
43
2016-06-06
43
2016-06-29
43
2016-08-17
43
2016-08-18
43
2016-09-26
43
2017-05-30
43
2017-08-06
43
2017-08-08
43
2017-08-18
43
2017-08-24
43
2017-09-04
43
2017-09-24
43
2018-05-06
43
2018-07-18
43
2018-07-23
43
2018-08-02
43
2018-08-07
43
2018-08-29
43
2018-09-01
43
2019-05-03
43
2019-05-07
43
2019-05-11
43
2019-06-05
43
2019-07-22
43
2019-07-24
43
2019-08-14
43
2019-09-05
43
2019-09-22
43
2020-05-02
43
2020-05-03
43
2020-05-05
43
2020-05-06
43
2020-05-10
43
2020-06-01
43
2020-06-10
43
2020-07-22
43
2020-07-23
43
2020-09-25
43
2021-05-02
43
2021-05-17
43
2021-05-23
43
2021-06-23
43
2021-07-11
43
2021-07-18
43
2021-08-01
43
2021-08-16
43
2021-09-12
43
2022-05-09
43
2022-05-23
43
2022-07-11
43
2022-08-09
43
2022-09-05
58
2000-08-27
58
2020-05-23
65
2000-08-21
65
2020-05-04
65
2020-05-10
Given that there were some missing dates, we added the assuming cero counts in these days.
We also interpolated linearly missing values in weather variables.
Code
collisions_weather_corr<-collisions |>mutate(rn=row_number())|>#2025-06-13: added missing rows manuallymutate(date =as.Date(yday(stata_date) -1,origin =paste0(year, "-01-01")))|>filter(month(date) %in%5:9) |>group_by(mrc, year) |>complete(date =seq.Date(min(date), max(date), by ="day") )|>ungroup()|>mutate(across(c(nb_collisions, alcohol, velocidad, nb_mort_c, nb_blese_grave_c, nb_blese_leger_c, nb_vehicules),~if_else(is.na(stata_date), 0, .x) ) )|> dplyr::select(-month, -day_of_week, -stata_date)|>mutate(date_num=unclass(date))|>left_join(wx_summary_filt2002_22_all, by=c("date_num"="date_num", "mrc"="mrc"))|>rename("date"="date.x")|>group_by(mrc, date)|>arrange(mrc, date)|>ungroup()|>mutate(tr_contr=ifelse(mrc %in%c(371, 23), "control", "treatment")) |>mutate(tr_contr_sens=ifelse(mrc %in%c(371, 23, 43), "control", "treatment"))|>#adding Sherbrookleft_join(races, by="year")|>#2025-06-25. missing weather variables for Longueuil#select(year, date, mrc, nearest, date_num)|> #2025-06-25= 2006 43 2006-09-24 to 2006-09-30; 2019 58 2019-05-01 to 2019-05-31mutate(date_num=unclass(date))|>left_join(offsets_db, by=c("nearest"="EQUALS", "year"="year"))|>mutate(exposure =coalesce(as.integer(dplyr::between(date, race_date -days(2), race_date +days(3))), 0L),exposure_alt7 =coalesce(as.integer(dplyr::between(date, race_date -days(2), race_date +days(7))), 0L),exposure_off =coalesce(as.integer(dplyr::between(date, race_date, race_date +days(3))), 0L),exposure_alt7_off =coalesce(as.integer(dplyr::between(date, race_date, race_date +days(7))), 0L) )|>mutate(week_iso =isoweek(date),year_f =factor(year),mrc_f =factor(mrc),exposure =factor(exposure, levels =c(0, 1)),iso_yday =yday(date),log_veh =log(nb_vehicules +1), # adding 1 to avoid log(0)D =ifelse(tr_contr =="treatment"& exposure ==1, 1, 0),D_sens =ifelse(tr_contr_sens =="treatment"& exposure ==1, 1, 0),D7 =ifelse(tr_contr =="treatment"& exposure_alt7 ==1, 1, 0),D7_sens =ifelse(tr_contr_sens =="treatment"& exposure_alt7 ==1, 1, 0),D_off =ifelse(tr_contr =="treatment"& exposure_off ==1, 1, 0),D_sens_off =ifelse(tr_contr_sens =="treatment"& exposure_off ==1, 1, 0),D7_off =ifelse(tr_contr =="treatment"& exposure_alt7_off ==1, 1, 0),D7_sens_off =ifelse(tr_contr_sens =="treatment"& exposure_alt7_off ==1, 1, 0) )|>group_by(mrc, year)|>arrange(date, .by_group =TRUE)|>mutate(across(c(min_temp_mean, min_temp_median, max_temp_mean, max_temp_median, total_precip_mean, total_precip_median), # <- weather variables~ zoo::na.approx(.x, x = date, na.rm =FALSE, rule =2),.names ="{.col}_lin"# create *_lin instead overwriting ))|>ungroup()if(filter(collisions_weather_corr, is.na(license_holders_sex_age)|is.na(vehicles_use_type)|is.na(vehicles_use_type_vehicle_age))|>nrow()){stop("Missing data in offsets") }cat("Check the rows left after discarding missing observations in weather variables (not interpolated ones)\n")collisions_weather_corr |>filter(!is.na(min_temp_mean), !is.na(max_temp_mean), !is.na(total_precip_mean)) |>nrow()cat("Added the Lag precipitation mean (2 days) by MRC and year:\n")collisions_weather_corr$lag_2_prec_median_lin <-collisions_weather_corr|>group_by(mrc, year)|>mutate(total_precip_median_lin_lag2 = dplyr::lag(total_precip_median_lin, 2, order_by = iso_yday))|>ungroup()|>pull(total_precip_median_lin_lag2) if(identical(collisions_weather_corr$total_precip_median_lin, collisions_weather_corr$lag_2_prec_median_lin)){stop("The variable was not lagged")}summary(collisions_weather_corr$lag_2_prec_median_lin)cat("Lag precipitation mean (2 days) by MRC and year:\n")table(is.na(collisions_weather_corr$lag_2_prec_median_lin))cat("Lag precipitation mean, range of missing days:\n")if(collisions_weather_corr|>filter(is.na(lag_2_prec_median_lin)) |>nrow()>0){collisions_weather_corr|>filter(is.na(lag_2_prec_median_lin))|> dplyr::select(mrc, year, iso_yday)|>summarise(max=max(iso_yday), min=min(iso_yday))}cat("There ara no missing values\n")cat("Added the cluster variable by MRC and year:\n")collisions_weather_corr$cluster<-interaction(collisions_weather_corr$year, collisions_weather_corr$mrc)cat("Add moving 3-day moving average\n")Mean <-function(x) if (sum(!is.na(x)) >=2) mean(x, na.rm =TRUE) elseNA#prior x elements (list(-seq(x)))roll <-function(x) zoo::rollapply(x, list(-seq(3)), Mean, fill =NA, partial =TRUE)collisions_weather_corr <-transform(collisions_weather_corr, mov_ave_velocidad =ave(velocidad, cluster, FUN = roll))cat("We generated the moving average of high-speed collisions, rounding to 0 decimals, and imputing the first two values (MRC-year) with the third value\n")collisions_weather_corr<-collisions_weather_corr|> dplyr::arrange(mrc, year, iso_yday)|>#dplyr::select(mrc, year, cluster, iso_yday, velocidad, mov_ave_velocidad)|> #filter(mrc!=23)|> dplyr::group_by(cluster)|> dplyr::mutate(third_value =nth(na.omit(mov_ave_velocidad), 1),mov_ave_velocidad =ifelse(is.na(mov_ave_velocidad), third_value, mov_ave_velocidad) )|> dplyr::select(-third_value)|> dplyr::mutate(mov_ave_velocidad=round(mov_ave_velocidad, 0))|>ungroup()cat("Imputed with the value of the third period\n")collisions_weather_corr$lag_2_prec_median_lin_imp <-collisions_weather_corr|>group_by(cluster)|>mutate(third_value =nth(na.omit(lag_2_prec_median_lin), 1),lag_2_prec_median_lin_imp =ifelse(is.na(lag_2_prec_median_lin), third_value, lag_2_prec_median_lin) )|> dplyr::select(-third_value)|>ungroup()|>pull(lag_2_prec_median_lin_imp)if(identical(collisions_weather_corr$lag_2_prec_median_lin, collisions_weather_corr$lag_2_prec_median_lin_imp)){stop("The variable was not imputed")}if(identical(collisions_weather_corr$total_precip_median_lin, collisions_weather_corr$lag_2_prec_median_lin_imp)){stop("The variable was not lagged")}cat("Missing in imputed values of 2-day lagged precipitations\n")collisions_weather_corr|>filter(is.na(lag_2_prec_median_lin_imp))|> dplyr::select(mrc, year, iso_yday) |>nrow()invisible("All are the first ranges")cat("MRCs treated and controls and days of exposure:\n")table(collisions_weather_corr$tr_contr, collisions_weather_corr$exposure)cat("MRCs treated and controls and days of exposure(+ Sherbrooke as control):\n")table(collisions_weather_corr$tr_contr_sens, collisions_weather_corr$exposure)cat("Added the time variable: year and standardized day in the year\n")collisions_weather_corr$time_id <-with(collisions_weather_corr, paste0(year_f, "_", iso_yday))xtabs(~ year+mrc+tr_contr + exposure, data = collisions_weather_corr)|>data.frame()|>filter(case_when(mrc%in%c(43, 58, 65, 66)& tr_contr=="control"& exposure==0~F, mrc%in%c(43, 58, 65, 66)& tr_contr=="control"& exposure==1~F, mrc==23& tr_contr=="treatment"& exposure==0~F, mrc==23& tr_contr=="treatment"& exposure==1~F, T~T)) |>arrange(tr_contr, mrc, year, exposure) |>data.frame()|> knitr::kable(caption="Number of observations by treatment status, MRC, year and exposure",col.names =c("Year", "MRC", "Control/Treated cities", "Days of exposure", "Observations"))|> kableExtra::kable_classic() |> kableExtra::scroll_box(width="100%", height="400px")table(collisions_weather_corr$cluster, collisions_weather_corr$tr_contr) |>data.frame()|>filter(Freq>0)|> knitr::kable(caption="Number of observations by MRC and year",col.names =c("MRC-Year", "Control/Treated cities", "Observations"))|> kableExtra::kable_classic()|> kableExtra::scroll_box(width="100%", height="400px")
Check the rows left after discarding missing observations in weather variables (not interpolated ones)
[1] 17489
Added the Lag precipitation mean (2 days) by MRC and year:
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.00 0.00 0.10 3.22 3.00 108.50 230
Lag precipitation mean (2 days) by MRC and year:
FALSE TRUE
17364 230
Lag precipitation mean, range of missing days:
# A tibble: 1 × 2
max min
<dbl> <dbl>
1 123 121
There ara no missing values
Added the cluster variable by MRC and year:
Add moving 3-day moving average
We generated the moving average of high-speed collisions, rounding to 0 decimals, and imputing the first two values (MRC-year) with the third value
Imputed with the value of the third period
Missing in imputed values of 2-day lagged precipitations
[1] 0
MRCs treated and controls and days of exposure:
0 1
control 3399 120
treatment 13595 480
MRCs treated and controls and days of exposure(+ Sherbrooke as control):
0 1
control 6797 240
treatment 10197 360
Added the time variable: year and standardized day in the year
Number of observations by treatment status, MRC, year and exposure
Year
MRC
Control/Treated cities
Days of exposure
Observations
2000
23
control
0
147
2000
23
control
1
6
2001
23
control
0
147
2001
23
control
1
6
2002
23
control
0
147
2002
23
control
1
6
2003
23
control
0
147
2003
23
control
1
6
2004
23
control
0
147
2004
23
control
1
6
2005
23
control
0
147
2005
23
control
1
6
2006
23
control
0
147
2006
23
control
1
6
2007
23
control
0
147
2007
23
control
1
6
2008
23
control
0
147
2008
23
control
1
6
2009
23
control
0
153
2009
23
control
1
0
2010
23
control
0
147
2010
23
control
1
6
2011
23
control
0
147
2011
23
control
1
6
2012
23
control
0
147
2012
23
control
1
6
2013
23
control
0
147
2013
23
control
1
6
2014
23
control
0
147
2014
23
control
1
6
2015
23
control
0
147
2015
23
control
1
6
2016
23
control
0
147
2016
23
control
1
6
2017
23
control
0
147
2017
23
control
1
6
2018
23
control
0
147
2018
23
control
1
6
2019
23
control
0
147
2019
23
control
1
6
2020
23
control
0
153
2020
23
control
1
0
2021
23
control
0
153
2021
23
control
1
0
2022
23
control
0
147
2022
23
control
1
6
2000
43
treatment
0
147
2000
43
treatment
1
6
2001
43
treatment
0
147
2001
43
treatment
1
6
2002
43
treatment
0
147
2002
43
treatment
1
6
2003
43
treatment
0
147
2003
43
treatment
1
6
2004
43
treatment
0
147
2004
43
treatment
1
6
2005
43
treatment
0
147
2005
43
treatment
1
6
2006
43
treatment
0
147
2006
43
treatment
1
6
2007
43
treatment
0
147
2007
43
treatment
1
6
2008
43
treatment
0
147
2008
43
treatment
1
6
2009
43
treatment
0
153
2009
43
treatment
1
0
2010
43
treatment
0
147
2010
43
treatment
1
6
2011
43
treatment
0
147
2011
43
treatment
1
6
2012
43
treatment
0
147
2012
43
treatment
1
6
2013
43
treatment
0
147
2013
43
treatment
1
6
2014
43
treatment
0
147
2014
43
treatment
1
6
2015
43
treatment
0
147
2015
43
treatment
1
6
2016
43
treatment
0
147
2016
43
treatment
1
6
2017
43
treatment
0
147
2017
43
treatment
1
6
2018
43
treatment
0
147
2018
43
treatment
1
6
2019
43
treatment
0
146
2019
43
treatment
1
6
2020
43
treatment
0
153
2020
43
treatment
1
0
2021
43
treatment
0
153
2021
43
treatment
1
0
2022
43
treatment
0
147
2022
43
treatment
1
6
2000
58
treatment
0
147
2000
58
treatment
1
6
2001
58
treatment
0
147
2001
58
treatment
1
6
2002
58
treatment
0
147
2002
58
treatment
1
6
2003
58
treatment
0
147
2003
58
treatment
1
6
2004
58
treatment
0
147
2004
58
treatment
1
6
2005
58
treatment
0
147
2005
58
treatment
1
6
2006
58
treatment
0
147
2006
58
treatment
1
6
2007
58
treatment
0
147
2007
58
treatment
1
6
2008
58
treatment
0
147
2008
58
treatment
1
6
2009
58
treatment
0
153
2009
58
treatment
1
0
2010
58
treatment
0
147
2010
58
treatment
1
6
2011
58
treatment
0
147
2011
58
treatment
1
6
2012
58
treatment
0
147
2012
58
treatment
1
6
2013
58
treatment
0
147
2013
58
treatment
1
6
2014
58
treatment
0
147
2014
58
treatment
1
6
2015
58
treatment
0
147
2015
58
treatment
1
6
2016
58
treatment
0
147
2016
58
treatment
1
6
2017
58
treatment
0
147
2017
58
treatment
1
6
2018
58
treatment
0
147
2018
58
treatment
1
6
2019
58
treatment
0
147
2019
58
treatment
1
6
2020
58
treatment
0
153
2020
58
treatment
1
0
2021
58
treatment
0
153
2021
58
treatment
1
0
2022
58
treatment
0
147
2022
58
treatment
1
6
2000
65
treatment
0
147
2000
65
treatment
1
6
2001
65
treatment
0
147
2001
65
treatment
1
6
2002
65
treatment
0
147
2002
65
treatment
1
6
2003
65
treatment
0
147
2003
65
treatment
1
6
2004
65
treatment
0
147
2004
65
treatment
1
6
2005
65
treatment
0
147
2005
65
treatment
1
6
2006
65
treatment
0
147
2006
65
treatment
1
6
2007
65
treatment
0
147
2007
65
treatment
1
6
2008
65
treatment
0
147
2008
65
treatment
1
6
2009
65
treatment
0
153
2009
65
treatment
1
0
2010
65
treatment
0
147
2010
65
treatment
1
6
2011
65
treatment
0
147
2011
65
treatment
1
6
2012
65
treatment
0
147
2012
65
treatment
1
6
2013
65
treatment
0
147
2013
65
treatment
1
6
2014
65
treatment
0
147
2014
65
treatment
1
6
2015
65
treatment
0
147
2015
65
treatment
1
6
2016
65
treatment
0
147
2016
65
treatment
1
6
2017
65
treatment
0
147
2017
65
treatment
1
6
2018
65
treatment
0
147
2018
65
treatment
1
6
2019
65
treatment
0
147
2019
65
treatment
1
6
2020
65
treatment
0
153
2020
65
treatment
1
0
2021
65
treatment
0
153
2021
65
treatment
1
0
2022
65
treatment
0
147
2022
65
treatment
1
6
2000
66
treatment
0
147
2000
66
treatment
1
6
2001
66
treatment
0
147
2001
66
treatment
1
6
2002
66
treatment
0
147
2002
66
treatment
1
6
2003
66
treatment
0
147
2003
66
treatment
1
6
2004
66
treatment
0
147
2004
66
treatment
1
6
2005
66
treatment
0
147
2005
66
treatment
1
6
2006
66
treatment
0
147
2006
66
treatment
1
6
2007
66
treatment
0
147
2007
66
treatment
1
6
2008
66
treatment
0
147
2008
66
treatment
1
6
2009
66
treatment
0
153
2009
66
treatment
1
0
2010
66
treatment
0
147
2010
66
treatment
1
6
2011
66
treatment
0
147
2011
66
treatment
1
6
2012
66
treatment
0
147
2012
66
treatment
1
6
2013
66
treatment
0
147
2013
66
treatment
1
6
2014
66
treatment
0
147
2014
66
treatment
1
6
2015
66
treatment
0
147
2015
66
treatment
1
6
2016
66
treatment
0
147
2016
66
treatment
1
6
2017
66
treatment
0
147
2017
66
treatment
1
6
2018
66
treatment
0
147
2018
66
treatment
1
6
2019
66
treatment
0
147
2019
66
treatment
1
6
2020
66
treatment
0
153
2020
66
treatment
1
0
2021
66
treatment
0
153
2021
66
treatment
1
0
2022
66
treatment
0
147
2022
66
treatment
1
6
Number of observations by MRC and year
MRC-Year
Control/Treated cities
Observations
2000.23
control
153
2001.23
control
153
2002.23
control
153
2003.23
control
153
2004.23
control
153
2005.23
control
153
2006.23
control
153
2007.23
control
153
2008.23
control
153
2009.23
control
153
2010.23
control
153
2011.23
control
153
2012.23
control
153
2013.23
control
153
2014.23
control
153
2015.23
control
153
2016.23
control
153
2017.23
control
153
2018.23
control
153
2019.23
control
153
2020.23
control
153
2021.23
control
153
2022.23
control
153
2000.43
treatment
153
2001.43
treatment
153
2002.43
treatment
153
2003.43
treatment
153
2004.43
treatment
153
2005.43
treatment
153
2006.43
treatment
153
2007.43
treatment
153
2008.43
treatment
153
2009.43
treatment
153
2010.43
treatment
153
2011.43
treatment
153
2012.43
treatment
153
2013.43
treatment
153
2014.43
treatment
153
2015.43
treatment
153
2016.43
treatment
153
2017.43
treatment
153
2018.43
treatment
153
2019.43
treatment
152
2020.43
treatment
153
2021.43
treatment
153
2022.43
treatment
153
2000.58
treatment
153
2001.58
treatment
153
2002.58
treatment
153
2003.58
treatment
153
2004.58
treatment
153
2005.58
treatment
153
2006.58
treatment
153
2007.58
treatment
153
2008.58
treatment
153
2009.58
treatment
153
2010.58
treatment
153
2011.58
treatment
153
2012.58
treatment
153
2013.58
treatment
153
2014.58
treatment
153
2015.58
treatment
153
2016.58
treatment
153
2017.58
treatment
153
2018.58
treatment
153
2019.58
treatment
153
2020.58
treatment
153
2021.58
treatment
153
2022.58
treatment
153
2000.65
treatment
153
2001.65
treatment
153
2002.65
treatment
153
2003.65
treatment
153
2004.65
treatment
153
2005.65
treatment
153
2006.65
treatment
153
2007.65
treatment
153
2008.65
treatment
153
2009.65
treatment
153
2010.65
treatment
153
2011.65
treatment
153
2012.65
treatment
153
2013.65
treatment
153
2014.65
treatment
153
2015.65
treatment
153
2016.65
treatment
153
2017.65
treatment
153
2018.65
treatment
153
2019.65
treatment
153
2020.65
treatment
153
2021.65
treatment
153
2022.65
treatment
153
2000.66
treatment
153
2001.66
treatment
153
2002.66
treatment
153
2003.66
treatment
153
2004.66
treatment
153
2005.66
treatment
153
2006.66
treatment
153
2007.66
treatment
153
2008.66
treatment
153
2009.66
treatment
153
2010.66
treatment
153
2011.66
treatment
153
2012.66
treatment
153
2013.66
treatment
153
2014.66
treatment
153
2015.66
treatment
153
2016.66
treatment
153
2017.66
treatment
153
2018.66
treatment
153
2019.66
treatment
153
2020.66
treatment
153
2021.66
treatment
153
2022.66
treatment
153
MRCs are the treated units
MRCs 65, 66, and 58 are the treated units (Laval, Montreal, Longueuil)
MRCs 23 and 43 are the control units (Quebec and Sherbrooke)
2009, 2020 and 2021 are years where races didnt occurr
We formatted the data recatangularily by subsetting 35 days before and 35 days after the race, for each combination of MRC and year.
Code
collisions_weather_corr_rect <- collisions_weather_corr|>group_by(cluster)|>mutate(day_diff =as.numeric(difftime(date, race_date, units ="days")))|># Calculate difference in daysmutate(race_window = dplyr::between(day_diff, -35, 35))|># Check if difference is within -30 to 30 daysungroup()|>filter(race_window ==TRUE)|>group_by(cluster)|>mutate(yday_corr =row_number())|> dplyr::select(-race_window, -day_diff)|># Remove the temporary columnsungroup() cat(paste0("Number of rows: ", nrow(collisions_weather_corr_rect),"\n\n\n\n"))
3-day moving average Vehicle Counts per MRC (grey band where exposure = 1)
Test panel structure
Code
#https://cran.r-project.org/web/packages/plm/vignettes/A_plmPackage.htmlE <- plm::pdata.frame(collisions_weather_corr_rect|>mutate(sum_veh=vehicles_use_type, Y= (velocidad/vehicles_use_type)*1e6), index=c("cluster","yday_corr"), drop.index=TRUE, row.names=TRUE)cat("Fixed effects (two–way: individual + time)\n")fixef_model <-plm(Y ~ D+ min_temp_mean_lin+ max_temp_mean_lin+ total_precip_median_lin+ lag_2_prec_median_lin_imp,#+ offset(vehicles_use_type), #not neededdata = E, model ="within", index ="townid")summary(fixef_model)cat("Robust coefficients\n")lmtest::coeftest(fixef_model,vcov =function(x) vcovSCC(x, type ="HC1", maxlag =2))cat("Random effects (two–way)\n")re_tw <-plm( Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + lag_2_prec_median_lin_imp,#+ offset(vehicles_use_type), #not neededdata = E,model ="random",effect ="twoways")summary(re_tw)phtest(fixef_model, re_tw) # Hausman Test# # data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...# chisq = 22.392, df = 5, p-value = 0.000441# alternative hypothesis: one model is inconsistentcat("Wooldridge test (first-order, idiosyncratic)\n")pbgtest(fixef_model)# Breusch-Godfrey/Wooldridge test for serial correlation in panel models# # data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...# chisq = 202.71, df = 71, p-value = 1.321e-14# alternative hypothesis: serial correlation in idiosyncratic errorscat("Breusch–Godfrey (panel) \n")pwartest(fixef_model)# Wooldridge's test for serial correlation in FE panels# # data: fixef_model# F = 0.3438, df1 = 1, df2 = 6998, p-value = 0.5577# alternative hypothesis: serial correlationcat("BP / White (panel) \n")lmtest::bptest(fixef_model)# studentized Breusch-Pagan test# # data: fixef_model# BP = 27.318, df = 5, p-value = 0.00004946plmtest(fixef_model, type ="bp")# Lagrange Multiplier Test - (Breusch-Pagan)# # data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...# chisq = 8552.8, df = 1, p-value < 2.2e-16# alternative hypothesis: significant effectscat("cross-section dependence\n")pcdtest(fixef_model, test ="cd") # Pesaran CD test for cross-sectional dependence in panels# # data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + lag_2_prec_median_lin_imp#z = 3.2052, p-value = 0.00135# alternative hypothesis: cross-sectional dependence
Fixed effects (two–way: individual + time)
Oneway (individual) effect Within Model
Call:
plm(formula = Y ~ D + min_temp_mean_lin + max_temp_mean_lin +
total_precip_median_lin + lag_2_prec_median_lin_imp, data = E,
model = "within", index = "townid")
Balanced Panel: n = 100, T = 71, N = 7100
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-3.94882 -0.94737 -0.38854 0.67581 17.96750
Coefficients:
Estimate Std. Error t-value Pr(>|t|)
D 0.26205923 0.08514964 3.0776 0.002095 **
min_temp_mean_lin 0.00731450 0.00668995 1.0934 0.274275
max_temp_mean_lin 0.01188647 0.00599374 1.9831 0.047390 *
total_precip_median_lin 0.01634397 0.00340616 4.7984 0.000001633 ***
lag_2_prec_median_lin_imp -0.00021014 0.00323096 -0.0650 0.948145
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Total Sum of Squares: 22380
Residual Sum of Squares: 22210
R-Squared: 0.0075944
Adj. R-Squared: -0.0071605
F-statistic: 10.7058 on 5 and 6995 DF, p-value: 2.8684e-10
Robust coefficients
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
D 0.26205923 0.07455394 3.5150 0.0004425 ***
min_temp_mean_lin 0.00731450 0.00703739 1.0394 0.2986653
max_temp_mean_lin 0.01188647 0.00553930 2.1458 0.0319198 *
total_precip_median_lin 0.01634397 0.00403703 4.0485 0.0000521 ***
lag_2_prec_median_lin_imp -0.00021014 0.00283921 -0.0740 0.9410026
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Random effects (two–way)
Twoways effects Random Effect Model
(Swamy-Arora's transformation)
Call:
plm(formula = Y ~ D + min_temp_mean_lin + max_temp_mean_lin +
total_precip_median_lin + lag_2_prec_median_lin_imp, data = E,
effect = "twoways", model = "random")
Balanced Panel: n = 100, T = 71, N = 7100
Effects:
var std.dev share
idiosyncratic 3.15832 1.77717 0.841
individual 0.57982 0.76146 0.154
time 0.01663 0.12894 0.004
theta: 0.7331 (id) 0.1906 (time) 0.1857 (total)
Residuals:
Min. 1st Qu. Median 3rd Qu. Max.
-3.29104 -1.02471 -0.56762 0.69640 18.26990
Coefficients:
Estimate Std. Error z-value Pr(>|z|)
(Intercept) 0.90530936 0.13365594 6.7734 1.258e-11 ***
D 0.25917852 0.09986462 2.5953 0.009451 **
min_temp_mean_lin 0.00834633 0.00690027 1.2096 0.226445
max_temp_mean_lin 0.00931032 0.00603389 1.5430 0.122829
total_precip_median_lin 0.01573930 0.00342091 4.6009 4.206e-06 ***
lag_2_prec_median_lin_imp -0.00066677 0.00325165 -0.2051 0.837528
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Total Sum of Squares: 22640
Residual Sum of Squares: 22501
R-Squared: 0.0061403
Adj. R-Squared: 0.0054398
Chisq: 43.8282 on 5 DF, p-value: 2.5099e-08
Hausman Test
data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...
chisq = 22.392, df = 5, p-value = 0.000441
alternative hypothesis: one model is inconsistent
Wooldridge test (first-order, idiosyncratic)
Breusch-Godfrey/Wooldridge test for serial correlation in panel models
data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...
chisq = 202.71, df = 71, p-value = 1.321e-14
alternative hypothesis: serial correlation in idiosyncratic errors
Breusch–Godfrey (panel)
Wooldridge's test for serial correlation in FE panels
data: fixef_model
F = 0.3438, df1 = 1, df2 = 6998, p-value = 0.5577
alternative hypothesis: serial correlation
BP / White (panel)
studentized Breusch-Pagan test
data: fixef_model
BP = 27.318, df = 5, p-value = 0.00004946
Lagrange Multiplier Test - (Breusch-Pagan)
data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + ...
chisq = 8552.8, df = 1, p-value < 2.2e-16
alternative hypothesis: significant effects
cross-section dependence
Pesaran CD test for cross-sectional dependence in panels
data: Y ~ D + min_temp_mean_lin + max_temp_mean_lin + total_precip_median_lin + lag_2_prec_median_lin_imp
z = 3.2052, p-value = 0.00135
alternative hypothesis: cross-sectional dependence
Hausman test indicates that Fixed effects is consistent but FE not.
Breusch-Pagan indicates that panel structure is needed, given unobserved heterogeneity, FE shoul be used
Studentized Breusch-Pagan test indicates that corss-secitonal heteroskedasticity is present
Cross section dependence also noted, so there may be correlated units.
There is a clear first-order autorregressive structure (Wooldridge’s test), and a more general serial correlation (Breusch-Godfrey/Wooldridge test).
Code
acf(residuals(fixef_model), lag.max=50)pacf(residuals(fixef_model), lag.max =50)Box.test(residuals(fixef_model), lag =10, type ="Ljung-Box")Box.test(residuals(fixef_model), lag =20, type ="Ljung-Box")Box.test(residuals(fixef_model), lag =30, type ="Ljung-Box")
Several Box–Ljung tests up to lag 10, 20 and 30 rejected white-noise residuals (p < 0.001), indicating serial correlation beyond autorregressive first-order structure. Partial autocorrelation plots show spikes at 3, 4, 10, 11, 14, 18, 19, 20, 25, 38, and 43, this is why there is a direct autocorrelation, despite there is no single lagged structure that dominates. It is recommended that we adjust on the lagged outcome at these spikes.
LaZerte SE, Albers S. weathercan: Download and format weather data from environment and climate change canada. The Journal of Open Source Software. 2018;3(22):571. https://joss.theoj.org/papers/10.21105/joss.00571.